/**
 * Electron preload 脚本。
 * 使用 contextBridge 暴露主进程 API 到渲染进程。
 */

// preload.ts 必须是 commonJS 模块，不能使用 ES6 模块, electron 不支持 ES6 模块
const {contextBridge, ipcRenderer} = require('electron');

contextBridge.exposeInMainWorld('native', {
    ping: () => ipcRenderer.invoke('ping'),
    openPdfDialog: (values: string[]) => ipcRenderer.invoke('open-pdf-dialog', values),
    selectDirectory: () => ipcRenderer.invoke('open-directory-dialog'),
    saveImage: (saveDirPath: string, images: {
        fileName: string,
        buffer: string
    }[]) => ipcRenderer.invoke('save-image', saveDirPath, images),
    openSavePath: (path: string) => ipcRenderer.invoke('open-save-path', path),
});